3. La programmation par blocs !

1. Les types de blocs :

Il existe 3 types de blocs Snap! :

Blocs de commandes Blocs à valeurs ou blocs "reporters" Blocs de contrôle de type chapeaux
Command blocks Reporter blocks Hat blocks
ex : ex : ex :
Rectangulaire Arrondis ou Pointus Ondulé
Permet d'exécuter une action Ne lance pas d’action mais retournent une ou plusieurs valeurs ou informations pouvant servir d’entrée à un autre bloc. Ce type de blocs comprend entre autres les variables Se positionne au sommet d’une suite d’instruction et permettent de gérer le lancement de celle-ci

**Blocs de commande :** Ces blocs ont des bosses sur le fond et / ou des encoches sur le dessus, comme . Vous pouvez assembler ces blocs pour faire des piles. Certains blocs ont une zone de saisie à l'intérieur, où vous pouvez taper un nombre (comme 10 dans le bloc ) ou choisir un élément dans un menu déroulant ou pop-menu, dans le bloc ). Certains blocs , comme le bloc , ont une bouche en forme de C où vous pouvez insérer d'autres blocs dans la pile.

Bloc de contrôle de type "chapeau": Ces blocs ont en tête arrondie, comme les . Ces blocs sont placés à en tête des piles. Ils attendent qu'un événement se produise, comme une touche enfoncée ( ici barre d'espace ) , pour ensuite exécuter les instructions des blocs situés en dessous.

Blocs à valeurs ou blocs "reporters" : Ces blocs, comme et , sont conçus pour s'insérer dans la zone de saisie d'autres blocs. Les blocs à valeurs à extrémités arrondis (tels que ou ) renvoient des chiffres ou des chaînes de caractères, et s'insérent dans des blocs avec des trous ronds ou rectangulaires (comme ou ). Les blocs à valeurs à extrémités pointus (tels que ) renvoient des valeurs booléennes (vrai ou faux) et s'insérent dans des blocs avec des trous à bords ronds ou pointus (comme la ou ). Cliquez sur n'importe quel bloc à valeurs pour faire apparaître sa valeur actuelle. Certains blocs à valeurs ont une case à cocher à côté d'eux, comme . Si vous cliquez dans la case à cocher, un petit écran apparaît sur la scène, montrant la valeur actuelle du bloc à valeurs. Quand la valeur du bloc change, la mise à jour de l'écran se fait automatiquement. L'écran peut afficher la valeur du bloc sous différents formats : une sortie normale avec le nom du bloc à valeurs une sortie large sans le nom du bloc à valeurs un potentiomètre vous permet de faire varier la valeur du bloc à valeurs (disponible uniquement pour les variables) Double-clic ou clic-droit (Mac: Ctrl + clic) sur l'écran pour passer d'un format à un autre. Le curseur de format est uniquement disponible pour les variables

2. Les différentes catégories de blocs :

Les blocs de Snap ! sont accessibles depuis la palette de blocs et rangés au sein de 8 grandes catégories, suivant leurs fonctions :

A chaque catégorie correspond une couleur spécifique

  • Motion (Mouvement) : regroupe l’ensemble des blocs nécessaires pour faire ce mouvoir les lutins sur la scène.
    (ex : avancer de 10 pas, glisser au point de coordonnées x y , …)

  • Looks (Aspect) : regroupe l’ensemble des blocs permettant de gérer l’apparence des lutin et de la scène.
    _(ex : changer le costume actuel pour costume2, costume suivant, afficher, masquer, …)

  • Sound (Son) : regroupe l’ensemble des blocs permettent de faire jouer à snap ! un son ou une note.
    (ex : jouer le son …, jouer la note 60 pendant 2 temps, …)

  • Pen (Stylo) : regroupe l’ensemble des blocs permettant de dessiner, tracer des traits sur la scène.

  • Control (Contrôle) : regroupe l’ensemble des blocs permettant le contrôle des différentes blocs de commandes ; en particulier cette catégorie contient les actions logiques comme les boucles, les conditions, …

  • Sensing (Capteur) : regroupe l’ensemble des blocs permettant simuler des captXXXXX.

  • Operators (Opérateurs) : regroupe l’ensemble des opérateurs logiques

  • Variables (Variables) : regroupe l’ensemble des fonctions sur les variables et les listes.

  • Les blocs spécifiques à Poppy («Ctrl + f ») : regroupe l’ensembles des blocs crées spécifiquement pour Poppy.

3. Les blocs de base :

4. Un premier programme :

5. Des exemples d'applications :


In [ ]: